package com.ruoyi.recycle.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 积分订单对象 integral_order
 *
 * @author ruoyi
 * @date 2022-05-22
 */
@ApiModel("积分订单")
public class IntegralOrder implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(name = "id", value = "积分订单id", dataType = "Long")
    @Excel(name = "联系方式")
    private Long id;

    /** 联系方式 */
    @Excel(name = "联系方式")
    @ApiModelProperty(name = "phone",value = "联系方式",dataType = "String")
    private String phone;

    /** 商品名 */
    @Excel(name = "商品名")
    @ApiModelProperty(name = "commodity",value = "商品名",dataType = "String")
    private String commodity;

    /** 商品ID */
    @Excel(name = "商品ID")
    @ApiModelProperty(name = "commodityId",value = "商品ID",dataType = "Long")
    private Long commodityId;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "createdTime",value = "下单时间",dataType = "Date",notes = "yyyy-MM-dd")
    private Date createdTime;

    /** 积分 */
    @Excel(name = "积分")
    @ApiModelProperty(name = "integral",value = "积分",dataType = "Long")
    private Long integral;

    /** 金额 */
    @Excel(name = "金额")
    @ApiModelProperty(name = "money",value = "金额",dataType = "BigDecimal")
    private BigDecimal money;

    /** 支付方式 */
    @Excel(name = "支付方式")
    @ApiModelProperty(name = "payType",value = "支付方式",dataType = "String")
    private String payType;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "payTime",value = "付款时间",dataType = "Date",notes = "yyyy-MM-dd")
    private Date payTime;

    /** 收货地址 */
    @Excel(name = "收货地址")
    @ApiModelProperty(name = "shippingAddress",value = "收货地址",dataType = "String")
    private String shippingAddress;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(name = "remark",value = "备注",dataType = "String")
    private String remark;

    /** 订单状态 */
    @Excel(name = "订单状态")
    @ApiModelProperty(name = "status",value = "订单状态",dataType = "String")
    private String status;

    /** 创建人 */
    @Excel(name = "创建人")
    @ApiModelProperty(name = "createdBy",value = "创建人",dataType = "String")
    private String createdBy;

    /** 更新人 */
    @Excel(name = "更新人")
    @ApiModelProperty(name = "updatedBy",value = "更新人",dataType = "String")
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "updatedTime",value = "更新时间",dataType = "Date",notes = "yyyy-MM-dd")
    private Date updatedTime;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty(name = "quantity",value = "数量",dataType = "Integer")
    private Integer quantity;

    /** 客户ID */
    @Excel(name = "客户ID")
    @ApiModelProperty(name = "clientId",value = "客户ID",dataType = "Integer")
    private Integer clientId;

    /** 支付编号 */
    @ApiModelProperty(name = "paymentNo",value = "支付编号",dataType = "String")
    private String paymentNo;

    /** 邮费 */
    @ApiModelProperty(name = "postage",value = "邮费",dataType = "BigDecimal")
    private BigDecimal postage;

    /** 商品图片 */
    @ApiModelProperty(name = "commodityImg",value = "商品图片",dataType = "String")
    private String commodityImg;

    /** 快递公司 */
    @ApiModelProperty(name = "logisticsCompany",value = "快递公司",dataType = "String")
    private String logisticsCompany;

    /** 快递单号 */
    @ApiModelProperty(name = "logisticsNumber",value = "快递单号",dataType = "String")
    private String logisticsNumber;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setCommodity(String commodity) 
    {
        this.commodity = commodity;
    }

    public String getCommodity() 
    {
        return commodity;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setIntegral(Long integral) 
    {
        this.integral = integral;
    }

    public Long getIntegral() 
    {
        return integral;
    }
    public void setMoney(BigDecimal money) 
    {
        this.money = money;
    }

    public BigDecimal getMoney() 
    {
        return money;
    }
    public void setPayType(String payType) 
    {
        this.payType = payType;
    }

    public String getPayType() 
    {
        return payType;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setShippingAddress(String shippingAddress) 
    {
        this.shippingAddress = shippingAddress;
    }

    public String getShippingAddress() 
    {
        return shippingAddress;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }
    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public Long getCommodityId() {
        return commodityId;
    }

    public void setCommodityId(Long commodityId) {
        this.commodityId = commodityId;
    }

    public Integer getClientId() {
        return clientId;
    }

    public void setClientId(Integer clientId) {
        this.clientId = clientId;
    }

    public String getPaymentNo() {
        return paymentNo;
    }

    public void setPaymentNo(String paymentNo) {
        this.paymentNo = paymentNo;
    }

    public BigDecimal getPostage() {
        return postage;
    }

    public void setPostage(BigDecimal postage) {
        this.postage = postage;
    }

    public String getCommodityImg() {
        return commodityImg;
    }

    public void setCommodityImg(String commodityImg) {
        this.commodityImg = commodityImg;
    }

    public String getLogisticsCompany() {
        return logisticsCompany;
    }

    public void setLogisticsCompany(String logisticsCompany) {
        this.logisticsCompany = logisticsCompany;
    }

    public String getLogisticsNumber() {
        return logisticsNumber;
    }

    public void setLogisticsNumber(String logisticsNumber) {
        this.logisticsNumber = logisticsNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("phone", getPhone())
            .append("commodity", getCommodity())
            .append("createdTime", getCreatedTime())
            .append("integral", getIntegral())
            .append("money", getMoney())
            .append("payType", getPayType())
            .append("payTime", getPayTime())
            .append("shippingAddress", getShippingAddress())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("quantity", getQuantity())
            .append("commodityId", getCommodityId())
            .append("clientId", getClientId())
            .toString();
    }
}
